/**
 *Copyright (c) 2024 watereyes
 * safetymanagement is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan
 * PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */
package com.koron.scene.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.common.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;

@ApiModel(value = "现场作业活动", description = "现场作业活动实体类")
public class SiteActivity extends BaseEntity {

    public SiteActivity() {
        super();
    }

    public SiteActivity(String userCode, String userName) {
        super.setAddUser(userCode);
        super.setAddUserName(userName);
        super.setAddTime(new Date());
        super.setUpdateUser(userCode);
        super.setUpdateUserName(userName);
        super.setUpdateTime(super.getAddTime());
    }

    @ApiModelProperty(value = "水司code", name = "corpCode", required = true)
    private String corpCode;

    @ApiModelProperty(value = "作业名称", name = "name" )
    private String name;

    @ApiModelProperty(value = "地点", name = "place", required = true)
    private String place;

    @ApiModelProperty(value = "作业活动时间", name = "activityTime", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date activityTime;

    @ApiModelProperty(value = "小组人员codes", name = "participatorCodes", required = true)
    private String participatorCodes;

    @ApiModelProperty(value = "小组人员姓名", name = "participatorNames", required = true)
    private String participatorNames;

    @ApiModelProperty(value = "作业活动负责人code", name = "organizerCode", required = true)
    private String organizerCode;

    @ApiModelProperty(value = "作业活动负责人姓名", name = "organizerName", required = true)
    private String organizerName;

    @ApiModelProperty(value = "作业班组", name = "activityGroup", required = true)
    private String activityGroup;

    @ApiModelProperty(value = "作业票", name = "jobTicket" )
    private String jobTicket;

    @ApiModelProperty(value = "外部人员", name = "externalEmployee" )
    private String externalEmployee;

    @ApiModelProperty(value = "状态:1草稿、2会签中、3已会签", name = "status" )
    private Integer status;

    private List<ActivityStage> stages;

    public String getCorpCode() {
        return corpCode;
    }

    public void setCorpCode(String corpCode) {
        this.corpCode = corpCode;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPlace() {
        return place;
    }

    public void setPlace(String place) {
        this.place = place;
    }

    public Date getActivityTime() {
        return activityTime;
    }

    public void setActivityTime(Date activityTime) {
        this.activityTime = activityTime;
    }

    public String getParticipatorCodes() {
        return participatorCodes;
    }

    public void setParticipatorCodes(String participatorCodes) {
        this.participatorCodes = participatorCodes;
    }

    public String getParticipatorNames() {
        return participatorNames;
    }

    public void setParticipatorNames(String participatorNames) {
        this.participatorNames = participatorNames;
    }

    public String getOrganizerCode() {
        return organizerCode;
    }

    public void setOrganizerCode(String organizerCode) {
        this.organizerCode = organizerCode;
    }

    public String getOrganizerName() {
        return organizerName;
    }

    public void setOrganizerName(String organizerName) {
        this.organizerName = organizerName;
    }

    public String getActivityGroup() {
        return activityGroup;
    }

    public void setActivityGroup(String activityGroup) {
        this.activityGroup = activityGroup;
    }

    public String getJobTicket() {
        return jobTicket;
    }

    public void setJobTicket(String jobTicket) {
        this.jobTicket = jobTicket;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public List<ActivityStage> getStages() {
        return stages;
    }

    public void setStages(List<ActivityStage> stages) {
        this.stages = stages;
    }

    public String getExternalEmployee() {
        return externalEmployee;
    }

    public void setExternalEmployee(String externalEmployee) {
        this.externalEmployee = externalEmployee;
    }

    @Override
    public String toString() {
        return "SiteActivity{" +
                "corpCode='" + corpCode + '\'' +
                ", name='" + name + '\'' +
                ", place='" + place + '\'' +
                ", activityTime=" + activityTime +
                ", participatorCodes='" + participatorCodes + '\'' +
                ", participatorNames='" + participatorNames + '\'' +
                ", organizerCode='" + organizerCode + '\'' +
                ", organizerName='" + organizerName + '\'' +
                ", activityGroup='" + activityGroup + '\'' +
                ", jobTicket='" + jobTicket + '\'' +
                ", status=" + status +
                '}';
    }


}
